Add Essence of Desolation with ring slot support#9515
Open
EtherealCarnivore wants to merge 1 commit intoPathOfBuildingCommunity:devfrom
Open
Add Essence of Desolation with ring slot support#9515EtherealCarnivore wants to merge 1 commit intoPathOfBuildingCommunity:devfrom
EtherealCarnivore wants to merge 1 commit intoPathOfBuildingCommunity:devfrom
Conversation
3.28 essence with slot-specific ring mods (left ring: Unleash seals, right ring: Shockwave cooldown). Adds mod definitions, parser patterns, and calc wiring for most of its mods across all item types. Extends FindModifierSubstring to check GGPK modTags for defence modifier detection on the body armour mod.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Essence of Desolation (3.28) with full mod definitions and calc support for most of its mods. Also adds ring slot awareness to the essence system - Desolation is the first essence with different mods for left vs right ring.
What changed
Data:
"Ring 1"/"Ring 2"keys instead of"Ring"UI:
Calc support:
SingleGemSocketedIn{SlotName}condition in CalcSetupDefence modifier detection (body armour mod):
"defence"patterns toitemTagSpecialin Data.lua (armour/evasion/ES/ward text patterns)FindModifierSubstringin Item.lua to also check GGPKmodTagson mod lines, so mods tagged "defences" in the game data get caught even if the mod text doesn't literally say "armour" etc.ItemConditionparser at ModParser line 1539 (allSlots = true, excludeSelf = true)Known simplifications - open to suggestions on any of these
Ailment duration mod:
FrozenEnemyRecently- if you've frozen recently, both freeze and chill duration won't get the bonus. In practice this is correct since freeze implies chill, but technically you could chill without freezing.Projectile chain:
Defence modifier detection:
itemTagSpecial) catches most defence mods but could miss unusual wording. ThemodTagsfallback from GGPK data covers those gaps for mods that have tags. Mods with no GGPK tags and weird text could slip through - haven't found any yet.Flask adjacency:
If any of these simplifications are a problem or there's a better pattern to follow, let me know - happy to rework.
Testing
Full test suite passes (194/194, the 1 failure is the pre-existing trade query ordering issue). Manual testing needed for in-app behavior - crafting rings with Desolation, equipping in left/right slot, checking flask adjacency with different slot arrangements.